from ftplib import FTP
import os.path


# 将文件上传到FTP
def upload_file(local_file_name_):
    # 设置FTP连接信息
    address = '192.167.192.167'
    port = 65535
    # FTP用户名
    user_name = 'user'
    # FTP密码
    password = 'user'
    try:
        ftp = FTP()
        ftp.connect(address, port)
        ftp.login(user_name, password)
        # 文件上传到FTP服务器的路径（前提是路径要存在，否则会报错）
        remote_path = "/xlsx_college"  # 如：将本地文件上传到FTP根目录
        ftp.cwd(remote_path)  # 切换到此路径
        file = open(local_file_name_, 'rb')
        # 如果参数 pasv 为真，打开被动模式传输 (PASV MODE) ，否则，如果参数 pasv 为假则关闭被动传输模式。
        ftp.set_pasv(0)
        ftp.storbinary('STOR %s' % os.path.basename(local_file_name_), file)
        file.close()
        ftp.close()
    except Exception as e:
        # print("文件上传失败...")
        str(e)  # 承接防止报错


if __name__ == '__main__':
    # 本地要上传的文件名
    local_file_name = "D:\\send_to_song\\虚拟化001.html"
    upload_file(local_file_name)
